package com.whnk.attendance.mapper;

import java.util.Date;
import java.util.List;
import com.whnk.attendance.domain.ProjectEmpInfo;
import com.whnk.attendance.vo.ProjectEmpInfoCheckVo;
import com.whnk.attendance.vo.ProjectEmpInfoListVo;
import com.whnk.attendance.vo.ProjectEmpInfoQueryVo;

/**
 * 项目人员列Mapper接口
 * 
 * @author whnk
 * @date 2021-12-22
 */
public interface ProjectEmpInfoMapper 
{
    /**
     * 查询项目人员列
     *
     * @param proEmpId 项目人员列主键
     * @return 项目人员列
     */
    public ProjectEmpInfo selectProjectEmpInfoByProEmpId(Long proEmpId);

    /**
     * 查询项目人员列列表
     *
     * @param projectEmpInfo 项目人员列
     * @return 项目人员列集合
     */
    public List<ProjectEmpInfo> selectProjectEmpInfoList(ProjectEmpInfo projectEmpInfo);

    /**
     * 新增项目人员列
     *
     * @param projectEmpInfo 项目人员列
     * @return 结果
     */
    public int insertProjectEmpInfo(ProjectEmpInfo projectEmpInfo);

    /**
     * 修改项目人员列
     *
     * @param projectEmpInfo 项目人员列
     * @return 结果
     */
    public int updateProjectEmpInfo(ProjectEmpInfo projectEmpInfo);

    /**
     * 删除项目人员列
     *
     * @param proEmpId 项目人员列主键
     * @return 结果
     */
    public int deleteProjectEmpInfoByProEmpId(Long proEmpId);

    /**
     * 批量删除项目人员列
     *
     * @param proEmpIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProjectEmpInfoByProEmpIds(Long[] proEmpIds);

    /**
     * 分页查询项目人员列表
     */
    public List<ProjectEmpInfoListVo> selectProjectEmpInfoListVoList(ProjectEmpInfoQueryVo projectEmpInfoQueryVo);

    /**
     * 根据逻辑主键查询项目人员信息
     */
    public ProjectEmpInfoListVo selectProjectEmpInfoListVoByProEmpId(long proEmpId);

    /**
     * 根据项目编号，身份证号，评级日期查询项目人员信息
     */
    public ProjectEmpInfoListVo selectProjectEmpInfoListVoByPER(ProjectEmpInfoCheckVo projectEmpInfoCheckVo);

    /**
     * 校验项目编号，身份证号，评级日期是否唯一
     */
    public ProjectEmpInfoListVo checkPER(ProjectEmpInfoCheckVo projectEmpInfoCheckVo);
}
